The present invention relates to a method for processing digitized image information, the image information consisting of a bit stream comprising a first set of successive source values, for which a corresponding output value can be defined. The invention also relates to a image processing device utilizing the method and to storing means for implementing the method using the image processing device.
A digitized image is typically presented as an image matrix, the elements of the matrix being the values of pixels. The current value given to each pixel determines the outputting of a pixel and the image can be edited by processing the values of the pixels. For example, in a conventional sweep display an image is saved in a buffer and the display is refreshed with the information in the buffer at a certain frequency in order to produce a visibly continuous display.
The value of a pixel typically consists of one or more components. For colour displays it has been specified several colour co-ordinate systems suitable for various purposes, but in the currently used systems the value of a pixel often consists of three components that correspond for example the three basic colour components, red, green and blue. In the widely used JPEG-algorithm (Joint Photographic Experts Group) the three components of a pixel in an RGB image are presented with the accuracy of eight bits, due to which the colour selection of a JPEG image comprises 224xcx9c16 million different colours.
The large number of available colours facilitates an accurate output result, if required, but in all connections and devices it is not sensible, nor always even possible to support such a high number of colours. For example, in simple and/or small size displays an acceptable output is achieved also using a small number of colours. For example, for some applications of mobile, portable terminals 4096 colours is currently proposed to be a suitable number.
Mapping the original values into available values is a recognised problem, and in order to solve it, particularly in colour outputting, several different methods have been suggested. Good results have been achieved using dithering, where also the values of adjoining pixels are taken into account when defining the values of a pixel. The final output, achieved by using detailed algorithms, is often excellent, but then also the processing typically takes a relatively long time. For paper outputs and various overhead outputs the processing time is not a very significant factor, because users normally accept longer processing times even when more powerful equipment is used, as long as the printout is good.
In interactive image transfer, however, the processing time has a significant effect. A received image has to be promptly output in a display, and the use of prior art complicated dithering algorithms is often not possible. In the present image transfer tests a pixel value has typically been defined using simple truncations. The output result achieved using even this method is mainly acceptable, but for some images a need for improvement has been observed. Particularly in images containing shading, there are clearly distinguishable, undesirable lines around objects (Moire-effect).
Reference publication U.S. Pat. No. 5,777,599 presents a image processing means, in which it has been striven for to simplify the dithering process in order to speed up the processing. In dithering it is generally used a mask matrix, to the values of which the truncated part is compared, and based upon the comparisons the untruncated integer value is increased or decreased. In the solution of the reference publication the part to be truncated is added to the value of the mask matrix, it is checked whether the obtained value is higher than one, and if it is, the integer value of the pixel is incremented by one. By using the solution the comparing of a mask value and the truncated part to each other is avoided and by intelligent choosing of the mask values an overflow check is avoided. In the solution of the reference publication dithering is carried out separately for various components, for example in this case separately for the colour components, and the mask matrix used in the dithering is determined based upon the position of a pixel. Such solutions require arrangements for the processing of the position data of pixels and for mask matrix management, which typically slows down the processing and makes it more complicated.
Reference publication U.S. Pat. No. 5,479,594 presents a image processing method, in which method for each component part of a source pixel successively adding a truncation error of an immediately preceding previous pixel component, truncating a resulting value to form a truncation error and most significant bits, and providing the most signicant bits to a destination line. In the solution of the reference publication, alike the other present solutions, dithering is carried out separately for various components, for example separately for each colour component. This adds the circuitry needed, because every component needs its own circuitry, and makes the system more complex and costly. It also might worsen the resolution of the picture in some cases by reducing the contrast difference between adjacent pixels compared to the original one, by taking large truncation errors from each color component of the first pixel and adding these to the second pixel.
Now a new method for processing image information has been invented, by using which method the effect of the above described problems can be significantly reduced. The method according to the invention facilitates fast dithering and thus significantly improves image quality in such devices, in which the time taken by image processing has significance. The method is easy to implement and simple, and thus by using it image quality can be improved without causing any significant delay in the processing time nor causing a need to enhance the performance or memory capacity of a device. This is particularly important in devices, where size, memory capacity and/or performance is limited for example due to a device being portable, wireless or for other corresponding reasons. Such devices include for example PDA-devices (Personal Digital Assistant), communicators and mobile stations.
A method according to the invention is characterized in determining a residual part corresponding to the difference between a source value and an output value; calculating the sum of said residual part and the next source value; using said sum as the next source value as a response to said sum being lower than or equal to the predetermined threshold value; using the determined value as the next source value as a response to said sum being higher than the predetermined threshold value; and calculating the said sum on basis of the determined residual part and the next source value, regardless of which source value of the output value affecting to the outputting properties is in case, the outputting of each pixel being based upon at least two output values, affecting mutually different outputting properties.
Another object of the invention is a device for displaying a digital image. The device according to the invention comprises a display comprising a number of image elements (pixels); a display driver for controlling the outputting of the pixels based upon at least one output value; and an image processing device comprising an input for receiving a bit stream comprising successive source values for outputting; a processor for processing the source values into corresponding output values; an output for supplying the output values to the display driver. The device comprises means for determining a residual part descriptive of the difference between a source value and the corresponding output value; means for calculating the sum of said residual part and the next source value and for using said sum as the next source value as a response to said sum being lower than or equal to a predetermined threshold value, and using determined value as the next source value as a response to said sum being higher than the predetermined threshold value; and means for calculating the said sum on basis of the determined residual part and the next source value, regardless of which source value of the output value affecting to the outputting properties is in case, the outputting of each pixel being based upon at least two output values, affecting mutually different outputting properties.